/**
 *Copyright (c) 2024 watereyes
 * safetymanagement is licensed under Mulan PubL v2.
 * You can use this software according to the terms and conditions of the Mulan
 * PubL v2.
 * You may obtain a copy of Mulan PubL v2 at:
 *          http://license.coscl.org.cn/MulanPubL-2.0
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PubL v2 for more details.
 */
package com.koron.scene.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.koron.common.domain.BaseEntity;
import com.koron.hiddendanger.domain.HiddenDangerDiscovery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;


@ApiModel(value = "班组交接", description = "班组交接实体类")
public class TeamHandover extends BaseEntity {

    @ApiModelProperty(name = "corpCode", value = "水司code" )
    private String corpCode;

    @ApiModelProperty(name = "corpName", value = "水司名称" )
    private String corpName;

    @ApiModelProperty(name = "handoverCode", value = "交班人code" )
    private String handoverCode;

    @ApiModelProperty(name = "handoverName", value = "交班人姓名" )
    private String handoverName;

    @ApiModelProperty(name = "receiverCode", value = "接班人code" )
    private String receiverCode;

    @ApiModelProperty(name = "receiverName", value = "接班人姓名" )
    private String receiverName;

    @ApiModelProperty(name = "dutyTeamName", value = "值班组" )
    private String dutyTeamName;

    @ApiModelProperty(name = "dutyTeamUserCode", value = "班组成员code，多个用，分割" )
    private String dutyTeamUserCode;

    @ApiModelProperty(name = "dutyTeamUserName", value = "班组成员code，多个用，分割" )
    private String dutyTeamUserName;

    @ApiModelProperty(name = "dutyTime", value = "值班时间" )
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date dutyTime;

    @ApiModelProperty(name = "dutyTimeStr", value = "值班时间，用于导出" )
    private String dutyTimeStr;

    @ApiModelProperty(name = "deviceState", value = "设备状态，0-正常，1-异常" )
    private Integer deviceState;

    @ApiModelProperty(name = "handoverExplain", value = "交接说明" )
    private String handoverExplain;

    @ApiModelProperty(name = "remark", value = "备注" )
    private String remark;

    @ApiModelProperty(name = "attachment", value = "附件地址" )
    private String attachment;

    @ApiModelProperty(name = "previewAttachment", value = "附件地址" )
    private String previewAttachment;

    @ApiModelProperty(value = "状态,0-草稿，1.审核中，2.审批完成", name = "status" )
    private Integer status;

    @ApiModelProperty(value = " 隐患台账列表，可以有多个", name = "status" )
    private List<HiddenDangerDiscovery> hiddenDangerDiscoveryList;

    public List<HiddenDangerDiscovery> getHiddenDangerDiscoveryList() {
        return hiddenDangerDiscoveryList;
    }

    public void setHiddenDangerDiscoveryList(List<HiddenDangerDiscovery> hiddenDangerDiscoveryList) {
        this.hiddenDangerDiscoveryList = hiddenDangerDiscoveryList;
    }

    public String getCorpCode() {
        return corpCode;
    }

    public void setCorpCode(String corpCode) {
        this.corpCode = corpCode;
    }

    public String getCorpName() {
        return corpName;
    }

    public void setCorpName(String corpName) {
        this.corpName = corpName;
    }

    public String getHandoverCode() {
        return handoverCode;
    }

    public void setHandoverCode(String handoverCode) {
        this.handoverCode = handoverCode;
    }

    public String getHandoverName() {
        return handoverName;
    }

    public void setHandoverName(String handoverName) {
        this.handoverName = handoverName;
    }

    public String getReceiverCode() {
        return receiverCode;
    }

    public void setReceiverCode(String receiverCode) {
        this.receiverCode = receiverCode;
    }

    public String getReceiverName() {
        return receiverName;
    }

    public void setReceiverName(String receiverName) {
        this.receiverName = receiverName;
    }

    public String getDutyTeamName() {
        return dutyTeamName;
    }

    public void setDutyTeamName(String dutyTeamName) {
        this.dutyTeamName = dutyTeamName;
    }

    public String getDutyTeamUserCode() {
        return dutyTeamUserCode;
    }

    public void setDutyTeamUserCode(String dutyTeamUserCode) {
        this.dutyTeamUserCode = dutyTeamUserCode;
    }

    public String getDutyTeamUserName() {
        return dutyTeamUserName;
    }

    public void setDutyTeamUserName(String dutyTeamUserName) {
        this.dutyTeamUserName = dutyTeamUserName;
    }

    public Date getDutyTime() {
        return dutyTime;
    }

    public void setDutyTime(Date dutyTime) {
        this.dutyTime = dutyTime;
    }

    public Integer getDeviceState() {
        return deviceState;
    }

    public void setDeviceState(Integer deviceState) {
        this.deviceState = deviceState;
    }

    public String getHandoverExplain() {
        return handoverExplain;
    }

    public void setHandoverExplain(String handoverExplain) {
        this.handoverExplain = handoverExplain;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public String getPreviewAttachment() {
        return previewAttachment;
    }

    public void setPreviewAttachment(String previewAttachment) {
        this.previewAttachment = previewAttachment;
    }

    public String getDutyTimeStr() {
        return dutyTimeStr;
    }

    public void setDutyTimeStr(String dutyTimeStr) {
        this.dutyTimeStr = dutyTimeStr;
    }

    @Override
    public String toString() {
        return "TeamHandover{" +
                "corpCode='" + corpCode + '\'' +
                ", corpName='" + corpName + '\'' +
                ", handoverCode='" + handoverCode + '\'' +
                ", handoverName='" + handoverName + '\'' +
                ", receiverCode='" + receiverCode + '\'' +
                ", receiverName='" + receiverName + '\'' +
                ", dutyTeamName='" + dutyTeamName + '\'' +
                ", dutyTeamUserCode='" + dutyTeamUserCode + '\'' +
                ", dutyTeamUserName='" + dutyTeamUserName + '\'' +
                ", dutyTime=" + dutyTime +
                ", deviceState=" + deviceState +
                ", handoverExplain='" + handoverExplain + '\'' +
                ", remark='" + remark + '\'' +
                ", attachment='" + attachment + '\'' +
                ", previewAttachment='" + previewAttachment + '\'' +
                ", status=" + status +
                ", hiddenDangerDiscoveryList=" + hiddenDangerDiscoveryList +
                '}';
    }
}
